package com.sourceQ.system.domain.tenant;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sourceQ.common.core.web.domain.UpdatableEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.util.Date;
import java.io.Serializable;

/**
 * 租户表(Tenant)实体类
 *
 * @author makejava
 * @since 2024-03-25 17:33:39
 */
@TableName(value = "sys_tenant")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Accessors(chain = true)
public class Tenant extends UpdatableEntity implements Serializable {

    @TableField(exist = false)
    private static final long serialVersionUID = -39683238730159881L;

    /**
     * 套餐编号 - 内部系统租户（系统管理员）
     */
    @TableField(exist = false)
    public static final Long PACKAGE_ID_SYSTEM = 0L;
    /**
     * 租户编号
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 租户名
     */
    private String name;
    /**
     * 联系人的用户编号
     */
    private Long contactUserId;
    /**
     * 联系人
     */
    private String contactName;
    /**
     * 联系手机
     */
    private String contactMobile;
    /**
     * 租户状态（0正常 1停用）
     */
    private String status;
    /**
     * 绑定域名
     */
    private String website;
    /**
     * 租户套餐编号
     */
    private Long packageId;
    /**
     * 过期时间
     */
    private LocalDateTime expireTime;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;
    /**
     * 注册码
     */
    private String registerCode;

}

